iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 15
1
自我挑戰組

類神經網路搭配啟發式演算法於時間序列之應用系列 第 15

DAY 14 - 三種參數牆:吸收牆、反射牆與無視牆

  • 分享至 

  • xImage
  •  

今天原本主題是「從最佳粒子提取訓練後網路權重」,當初不知道為什麼會打這個題目,因為其實這個步驟非常簡單,就只需要把粒子群裡面的最佳解(Group Best, G-Best)拿出來就是訓練後的權重了哈哈。我今天想來談的事情是參數牆,我覺得這個或許對於訂閱我的朋友來說,你們在做類神經網路會比較有幫助。

題外話,慢慢發現自己一天能無壓力打出來的文章文字量,或許剛開始我一頭熱打比較詳細,但要持續堅持發現好多東西都沒有準備好,要準備好太花時間,所以明年鐵人賽我應該會先準備好內容,再提供更好的文章。

什麼是參數牆呢?參數牆是對於參數的邊界限制條件的一種俗稱,根源來自於粒子群演算法。簡單來說如果你有一組參數 (a,b) 分別 a 與 b 都要介在 [0,1] 之間,那 x = 0, 1 與 y = 0, 1 這四條線就是參數牆,參數調整到這裡就撞牆了,不能超過他。

實務上,我們很常會遇到參數撞牆的情況,例如我在做類神經網路我用啟發式演算法優化權重,但是權重我限定在 0 到 1 之間,那麼不小心可能會修改到權重超過 1 ,因此要對這樣的參數做一個處理,這就是所謂的「邊界返回調整」

邊界返回調整

實務上邊界返回調整有三種主要方式,第一種是所謂的吸收牆:

參數牆-1

第二種是所謂的反射牆,也就是說它的速度會直接相反,然後在下一輪回合維持一樣的大小但相反方向衝回參數空間:

參數牆-2

第三種是所謂的無視牆,也就是飛出去參數空間的就不要他了:

參數牆-3

實務上的一些經驗

實務上我們偏向先採用無視牆,原因是無視牆可以檢驗你的參數空間的複雜度,如果複雜度太高很容易會噴出參數空間,然後放棄例子就能釋放計算空間,因為通常會把不同粒子跑在平行運算的不同的核心上面,如果結果還不錯,我們會改用第一種方式,看看邊界條件影響會不會很大,通常邊界影響會蠻大的,所以我們會跑很多次第一種參數牆(吸收牆),通常不會使用第二種,除非你的參數空間複雜度不高,或是你的學習率不高才會使用。


上一篇
DAY 13 - 以粒子群演算法修正網路權重
下一篇
DAY 15 - 關於暗知識 Dark Knownledge
系列文
類神經網路搭配啟發式演算法於時間序列之應用27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言